package com.fjwt.gz.db.vo;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

/**
 * <p>
 * 会员信息基础表（18个地市进行关联）
 * </p>
 *
 * @author shiyonghao
 * @since 2025-04-09
 */
@Data
public class FansVO {

    /**
     * 会员ID
     */
    private Long fansId;

    /**
     * 手机号码
     */
    private String phone;

    /**
     * appId
     */
    private String appId;

    /**
     * 昵称
     */
    private String nickName;

    /**
     * 生日
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date birthday;

    /**
     * 性别 0: 未知 1: 男 2: 女
     */
    private Integer sex;

    /**
     * 头像
     */
    private String headPic;

    /**
     * 支付公众号的open_id
     */
    private String payOpenId;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    /**
     * 更新建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedAt;

    /**
     * 微信openid
     */
    private String openId;

    /**
     * 积分值
     */
    private Integer scoreValue;

    /**
     * 过期天数
     */
    private Integer overDays;

    /**
     * 唯一标识
     */
    private String cstmNo;

    /**
     * 消费次数
     */
    private Integer num;

    /**
     * 是否关注公众号 0是 1否
     */
    private Integer isFollow;


    private Integer isAuth;

    /**
     * 商户编号
     */
    private String mchNo;

    /**
     * 商户名称
     */
    private String mchName;

    /**
     * 是否已解除绑定 0否 1是，默认0
     */
    private Integer isDeleted;


    private String realName;

    /**
     * 实名时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date authTime;

    /**
     * 会员绑定客户经理关系主键
     */
    private Long fansAgentId;

    /**
     * 机构员工号
     */
    private String employeeNo;


    /**
     * 省编号
     */
    @TableField(exist = false)
    private String agentNo1;

    /**
     * 市编号
     */
    @TableField(exist = false)
    private String agentNo2;

    /**
     * 区县编号
     */
    @TableField(exist = false)
    private String agentNo3;

    /**
     * 机构编号
     */
    @TableField(exist = false)
    private String agentNo4;

    /**
     * 客户首次登录小程序开始时间
     */
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startEntryTime;

    /**
     * 客户首次登录小程序结束时间
     */
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endEntryTime;

    /**
     * 1:未认证 0:认证成功
     */
    @TableField(exist = false)
    private Long isAustState;

    /**
     * 实名认证开始时间
     */
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date StartIsAustTime;

    /**
     * 实名认证结束时间
     */
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endIsAustTime;


    @TableField(exist = false)
    private String fansUserId;

    /**
     * 归属机构号
     */
    @TableField(exist = false)
    private String agentNo;

    /**
     * 实名手机号
     */
    @TableField(exist = false)
    private String authPhone;

    /**
     * 真实姓名
     */
    @TableField(exist = false)
    private String cstmName;


    /**
     * 实名认证时间
     */
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date firstIsAustTime;

    /**
     * 首次登录时间
     */
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date firstEntryTime;

    /**
     * 归属机构
     */
    @TableField(exist = false)
    private String agentName;

    /**
     * '迁移状态 0是 1否 2不是老客户' 且有值时候表示是老客户
     */
    @TableField(exist = false)
    private Integer ffqyState;

    /**
     * '是否是注销状态 0不是 1注销中 2已注销'
     */
    @TableField(exist = false)
    private Integer state;

    /**
     * 福分值
     */
    @TableField(exist = false)
    private String score;

    /**
     * 498机构号
     */
    @TableField(exist = false)
    private String oldAgentNo;

}
